// JavaScript Document
function $(id){
	return document.getElementById(id);
}

/*
 * 兼容浏览器
 */
function txt(obj){
	if(navigator.appName=='Netscape'){//返回所使用的浏览器名称     但Gecko(Firefox)和WebKit(Chrome 和 Safari)返回的浏览器名称都是“Netscape”
		return obj.textContent;
	}else{
		return obj.innerText;
	}
}

/*
 * 添加事件
 */
function addOn(){
	
	//购物车鼠标移上高亮
	
	//shopping_product_list======class
	//根据class给其加移入移出事件
	var classNames=document.getElementsByClassName("shopping_product_list");
	for(var i=0;i<classNames.length;i++){
		var className = classNames[i];//表格中的每一行
		className.onmouseover = function(){
			//console.log("鼠标移入");
			this.style.backgroundColor="#fff";//TODO this不可以用className 为什么
		}
		className.onmouseout = function(){
			//console.log("鼠标移出");
			this.style.backgroundColor="#fefbf2";
		}
	}
	
	//购买   添加点击事件shopping_yellow
	var classNames=document.getElementsByClassName("shopping_yellow");
	for(var i=0;i<classNames.length;i++){
		var className = classNames[i];//表格中的每一行
		className.onclick = shop;
	}
	
}

/*
 * id:点击的图片id
 * divid:要隐藏的
 */
function changeStyle(id,divid){
	if($(divid).style.display=="block"){//隐藏
		$(divid).style.display="none";
		$(id).src="images/shopping_arrow_down.gif";
	}else{//显示
		$(divid).style.display="block";
		$(id).src="images/shopping_arrow_up.gif";
	}
}

/**
 * 有重复的数据，则只添加数量而不添加新的一行
 * true:重复
 * false:不重复
 * @param {Object} name
 */
function checkBookName(name){
	var trs = $("mytable").getElementsByTagName("tr");//取出购物车中的所有行
	var bookName;//所有的书名
	var flag=0;
	
	for(var i=0;i<trs.length;i++){
		bookName = trs[i].getElementsByTagName("td")[0].getElementsByTagName("a")[0].innerText;
		//console.log(bookName);
		if(name==bookName){//有重复的书名---改变input中的数量
			var num = parseInt(trs[i].getElementsByTagName("td")[4].getElementsByTagName("input")[0].value);//数量
			
			trs[i].getElementsByTagName("td")[4].getElementsByTagName("input")[0].value=++num;
			
			productCount();
			return true;
		}
	}
	return false;
}

/*
 * 结算
 */
function productCount(){
	var total = 0;//总额
	var save = 0;//节省金额
	var integral = 0;//积分
	
	var point = 0;//单品积分
	var price = 0;//市场价
	var ddprice = 0;//当当家
	var num = 0;//购买数量
	
	//取mytable中的每一行
	var trs = $("mytable").getElementsByTagName("tr");
	
	for(var i=0;i<trs.length;i++){
		
		point = txt(trs[i].getElementsByTagName("td")[1]);//取出单品的积分
		price = txt(trs[i].getElementsByTagName("td")[2].getElementsByTagName("label")[0]);//市场价
		ddprice = txt(trs[i].getElementsByTagName("td")[3].getElementsByTagName("label")[0]);//当当价
		num = trs[i].getElementsByTagName("td")[4].getElementsByTagName("input")[0].value;//数量
		
		if(isNaN(num)){//输入的不是一个数字
			alert("你输入的不是数字");
			trs[i].getElementsByTagName("td")[4].getElementsByTagName("input")[0].select();//选的input框
			return;
		}
		
		if(num<=0){
			$("mytable").getElementsByTagName("tbody")[0].removeChild(trs[i]);
		}
		
		integral += point*num;
		total += ddprice*num;
		save += (price-ddprice)*num;
		
	}
	
	$("mytotal").innerHTML = Math.round(total*100)/100;//保留两位小数
	$("mysave").innerHTML = "￥"+save.toFixed(2);
	$("mypoint").innerHTML = integral.toFixed(2);//Number  2表示小数点后的位数
}

function shop(){
	
	var event = event||window.event;
	var item = event.srcElement;
	
	//li保存在数组中     0书名 1原价 2打折 3购买
	var childs = item.parentNode.parentNode.getElementsByTagName("li");//li
	
	var name = childs[0].innerText.substring(1).trim();//书名
	var price = childs[1].innerText.substring(1).trim();;//市场价
	var ddprice = childs[2].innerText.substring(1).trim();;//当当价
	
	console.log(ddprice);
	
	if(checkBookName(name)){//重名
		return;
	}
	
	//在购物车中怎加一行
	var numRow = $("mytable").getElementsByTagName("tr").length;//行数
	var numCel = 6;//表格的列数
	
	var otable = $("mytable");
	var newtr = otable.insertRow();
	newtr.className="shopping_product_list";
	if(numRow<9){
		newtr.id="shoppingProduct_0"+(numRow+1);
	}else{
		newtr.id="shoppingProduct_"+(numRow+1);
	}
	
	for(var i=0;i<numCel;i++){
		var newtd = newtr.insertCell();
		newtd.className = "shopping_product_list_"+(i+1);
		
		//可以取数据库=====应该
		switch(i+1){
			case 1://商品名
				//添加a
				var a = document.createElement("a");
				a.href="#";
				a.className="blue";
				newtd.appendChild(a);
				
				//给a添加名
				var text = document.createTextNode(name);
				a.appendChild(text);
				break;
			case 2://单品积分  100
				var text = document.createTextNode("100");
				newtd.appendChild(text)
				break;
			case 3://市场价
				//添加label
				var label = document.createElement("label");
				var text = document.createTextNode(price);
				label.appendChild(text);//添加文字
				var text1 = document.createTextNode("￥");
				newtd.appendChild(text1);
				newtd.appendChild(label);//添加lable  ￥<label>32.00
				break;
			case 4://当当价<td class="shopping_product_list_4">￥<label>71.20</label> (75折)</td>
				//添加label
				var label = document.createElement("label");
				var text = document.createTextNode(ddprice);
				label.appendChild(text);//添加文字
				var text1 = document.createTextNode("￥");
				var text2 = document.createTextNode(" (59折)");
				newtd.appendChild(text1);
				newtd.appendChild(label);//添加lable
				newtd.appendChild(text2);
				break;
			case 5://数量 
				var inp = document.createElement("INPUT");
				inp.type="text";
				inp.value="1";
				inp.onBlur=productCount;
				newtd.appendChild(inp);
				break;
			case 6://删除
				//添加a
				var a = document.createElement("a");
				a.href="javascript:deleteObj('"+newtr.id+"')";
				a.className="blue";
				var text = document.createTextNode("删除");
				a.appendChild(text);
				newtd.appendChild(a);
				break;
		}
	}
	addOn();//新增加的行也需要添加鼠标移入移出事件
}


function show(){
	
}

function deleteObj(id){
	$("mytable").getElementsByTagName("tbody")[0].removeChild($(id));
	productCount();
}

window.onload=function(){
	addOn();
	productCount();
}


